package org.zhadoop.stream.cql.executor;

import org.zhadoop.streaming.expression.ExpressionOperator;
import org.zhadoop.streaming.expression.IExpression;

/**
 * 二元表达式
 * @author zwd
 *
 */
public class BinaryExpression {
	/**
	 * 表达式的缩写
	 * 也是表达式的别名
	 */
	private String describe;
	
	/**
	 * 表达式类型，换算成底层的执行器中的枚举类型
	 */
	private ExpressionOperator type;
	
	/**
	 * 要进行表达式计算的类
	 */
	private Class<? extends IExpression> expressClass;

	public BinaryExpression(String describe, ExpressionOperator type, Class<? extends IExpression> expressClass) {
		super();
		this.describe = describe;
		this.type = type;
		this.expressClass = expressClass;
	}

	public String getDescribe() {
		return describe;
	}

	public void setDescribe(String describe) {
		this.describe = describe;
	}

	public ExpressionOperator getType() {
		return type;
	}

	public void setType(ExpressionOperator type) {
		this.type = type;
	}

	public Class<? extends IExpression> getExpressClass() {
		return expressClass;
	}

	public void setExpressClass(Class<? extends IExpression> expressClass) {
		this.expressClass = expressClass;
	}
	
}
